package fr.musique.service;

import java.util.ArrayList;
import java.util.List;

import javax.jws.WebService;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import fr.musique.bean.Musique;
import fr.musique.itf.MusiqueItf;

@Service("musiqueService")
@WebService(endpointInterface = "fr.musique.service.MusiqueService")
public class MusiqueServiceImpl implements MusiqueService {

	@Autowired
	protected MusiqueItf musiqueItf;

	@Override
	@Transactional
	public Musique get(int id) {
		return this.musiqueItf.get(id);
	}

	@Override
	@Transactional
	public List<Musique> getAll() {
		List<Musique> resultats = new ArrayList<Musique>();

		for (Musique res : this.musiqueItf.getAll()) {
			resultats.add(res);
		}

		return resultats;
	}

	@Override
	@Transactional
	public void save(Musique musique) {

		// Sauvegarde
		this.musiqueItf.save(musique);
	}

	@Override
	public List<Musique> getMusique(String titre) {
		return this.musiqueItf.getMusique(titre);
	}
}
